package com.dimples.system.service;

import com.dimples.common.page.metadata.Page;
import com.dimples.common.transport.QueryRequest;
import com.dimples.system.entity.SysDept;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

import cn.hutool.core.lang.tree.Tree;

/**
 * @author zhongyj <1126834403@qq.com><br/>
 * @date 2021/7/18
 */
public interface SysDeptService extends IService<SysDept> {

    /**
     * 获取部门列表
     *
     * @param sysDept      SysDept
     * @param queryRequest QueryRequest
     * @return Page<SysDept>
     */
    Page<SysDept> findDept(SysDept sysDept, QueryRequest queryRequest);

    /**
     * 获取部门树
     *
     * @return List<Tree < Long>>
     */
    List<Tree<Long>> findDeptTree();

    /**
     * 新增部门
     *
     * @param sysDept SysDept
     */
    void saveDept(SysDept sysDept);

    /**
     * 编辑部门
     *
     * @param sysDept SysDept
     */
    void updateDept(SysDept sysDept);

    /**
     * 删除部门
     *
     * @param deptId Long
     */
    void deleteDept(Long deptId);

    /**
     * 批量删除部门
     *
     * @param deptIds String
     */
    void deleteDepts(String deptIds);
}
